﻿namespace DimensionsHelper.CommandLine.ConsoleTracer;

public delegate bool TryConverter<in TIn, TOut>(TIn inValue, out TOut outValue);


public interface INavigable
{
    /// <summary>
    ///     添加读取当前文本后的下一步操作
    /// </summary>
    void AddNext(Action<string> next);


    /// <summary>
    ///     添加下一步操作的导航内容。
    /// </summary>
    void AddNext(INavigable next);


    /// <summary>
    ///     绑定设置数据的回调函数
    /// </summary>
    void BindData(Action<string> setter);


    /// <summary>
    ///     运行导航内容，如果结束当前调用链，返回<see langword="false" />
    /// </summary>
    bool Navigate();
}